Instalando y configurando Docker en Debian Jessie
Instalamos Debian 8.6 Jessie en una máquina virtual (VM) usando la ISO netinstall. La VM tiene asignada 1GB de RAM, 10GB de disco y la interfaz de red está en modo bridged, de manera que tiene acceso a internet a través del router de casa, de donde obtiene una dirección IP por DHCP.Además del sistema operativo, únicamente hay instalado el servidor SSH.
En el sistema tenemos dos usuarios, el usuario root y un usuario sin privilegios al que hemos llamado operador.
Para la instalación de Docker en el el equipo seguimos la Guía oficial de instalación de Docker en Debian 8.0 JessieAccedemos al sistema mediante el usuario no privilegiado (el usuario root no puede acceder remotamente con la configuración por defecto de SSH).
Una vez hemos iniciado sesión con el usuario operador, lanzamos su para convertirnos en el usuario root.
Verificando los pre-requisitos
Docker sólo puede ser instalado en equipos 64bits con un kernel 3.10 o superior.Para verificar que la versión instalada de Debian instalada verifica estos requisitos, ejecutamos:
# uname -r
3.16.0-4-amd64
Actualizando el repositorio apt
- Purgamos el repositorio:
# apt-get purge "lxc-docker*"
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package lxc-docker*
E: Couldn't find any package by regex 'lxc-docker*'
# apt-get purge "docker.io*"
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'docker.io' for regex 'docker.io*'
Package 'docker.io' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Vemos que en nuestro caso no tenemos versiones antiguas de los paquetes relacionados con Docker.
- Actualizamos # apt-get update
- Nos aseguramos que apt funcione correctamente a través de https, instalando los paquetes y los certificados necesarios: # apt-get install apt-transport-https ca-certificates
- Añadimos la clave GPG: # $ apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
- Abrimos el fichero /etc/apt/sources.list.d/docker.list. Si no existe, lo creamos.
- Añadimos la línea deb https://apt.dockerproject.org/repo debian-jessie main
- Guardamos el fichero y lanzamos una actualización mediante # apt-get update
- Verificamos que apt está obteniendo los paquetes del repositorio correcto: # apt-cache policy docker-engine
# apt-cache policy docker-engine
docker-engine:
Installed: (none)
Candidate: 1.12.2-0~jessie
Version table:
1.12.2-0~jessie 0
500 https://apt.dockerproject.org/repo/ debian-jessie/main amd64 Packages
...
Instalando Docker
Como ya hemos añadido y configurado los repositorios en los que se encuentra disponible Docker, instalamos de forma habitual:# apt-get update
# apt-get install docker-engine
Una vez instalado, arrancamos el servicio de Docker: # service docker start.
Para verificar que Docker está arrancado, ejecuta docker version:
# docker version
Client:
Version: 1.12.2
API version: 1.24
Go version: go1.6.3
Git commit: bb80604
Built: Tue Oct 11 17:43:41 2016
OS/Arch: linux/amd64
Server:
Version: 1.12.2
API version: 1.24
Go version: go1.6.3
Git commit: bb80604
Built: Tue Oct 11 17:43:41 2016
OS/Arch: linux/amd64
Dando acceso a Docker a un usuario sin privilegios
El demonio docker se ejecuta como usuario root, por lo que para poder gestionar Docker, necesitas permisos de root (normalmente usando elevación de permisos mediante sudo).Puedes crear un grupo llamado docker y añadir usuarios sin privilegios a este grupo. Esto permite que los usuarios sin privilegios de root puedan ejecutar Docker, aunque al ser un grupo con permisos equivalentes, supone un riesgo de seguridad.
- Crea el grupo docker mediante: # groupadd docker (puede que se haya creado durante la instalación)
# groupadd docker
groupadd: group 'docker' already exists
- Agrega al (los) usuario(s) sin privilegios al grupo. En nuestro caso, el usuario sin privilegios es el usuario operador:
# gpasswd -a operador docker
Adding user operador to group docker
El usuario operador debe iniciar sesión de nuevo para que los cambios tengan efecto.
- Reinicia el demonio Docker: systemctl restart docker.
Comentarios